<?php 

/**
 * Controleur permettant d'ajouter une ligne à la commande
 */
require_once('dao/Dao.php');
require_once('dao/CommandeDao.php');
require_once('dao/CarteSimDao.php');
require_once('dao/OffreVenteDao.php');
if ($_SESSION['niveauAuth']=='1'or $_SESSION['niveauAuth']=='2' or $_SESSION['niveauAuth']=='4' or $_SESSION['niveauAuth']=='5'or $_SESSION['niveauAuth']=='6' or $_SESSION['niveauAuth']=='7'or $_SESSION['niveauAuth']=='8'or $_SESSION['niveauAuth']=='9') {

if (isset($_GET['action']) and $_GET['action']=='modif'){$sim='choisie';}else{$sim='';}

if (isset($_POST['action'])){
	
	//récupération des variables
	$id_commande = $_POST['id_commande'];
	$utilisateur = $_POST['utilisateur'];
	$carte_sim = $_POST['carte_sim'];
	$appel_interne = $_POST['appel_interne'];
	
	$engagement = $_POST['engagement'];
	
	if(isset($_POST['portabilite']))
	{
	$portabilite = $_POST['portabilite'];
	$msisdn = $_POST['msisdn'];
	$numero_rio = $_POST['numero_rio'];
	$date_souhaite = $_POST['date_souhaite'];
	}else{
	$portabilite = '';
	$msisdn = '';
	$numero_rio = '';
	$date_souhaite = '';	
	}
	
	if(isset($_POST['equipement']))
	{
	$equipement = $_POST['equipement'];
	$terminal_mobile = $_POST['terminal_mobile'];
	$numero_imei = $_POST['numero_imei'];
	}
	else{
	$equipement = '';
	$terminal_mobile = '';
	$numero_imei = '';
	}
	
	if(isset($_POST['offre']))
	{
	$abonnement_mobile = $_POST['offre'];
	}else{
	$abonnement_mobile = '';
	}
	
	if(isset($_POST['options_mobile_sms']))
	{
	$options_mobile[] = $_POST['options_mobile_sms'];
	}
	
	if(isset($_POST['options_mobile_data']))
	{
	$options_mobile[] = $_POST['options_mobile_data'];
	}
	
	if(isset($_POST['options_mobile_international']))
	{
	$options_mobile[] = $_POST['options_mobile_international'];
	}
	
	if(isset($_POST['options_mobile_bb']))
	{
	$options_mobile[] = $_POST['options_mobile_bb'];
	}
	
	if(isset($_POST['options_mobile_interne']))
	{
	$options_mobile[] = $_POST['options_mobile_interne'];
	}
	
	if(!isset($options_mobile))
	{
	$options_mobile = '';
	}
	
	// réduction
	$reduction_abonnement = str_replace(",",".",$_POST['abonnement']);
	$reduction_min_national = str_replace(",",".",$_POST['minute_national']);
	$reduction_min_international = str_replace(",",".",$_POST['minute_international']);
	$reduction_option_mobile = str_replace(",",".",$_POST['option_mobile']);
	$reduction_grille_tarifaire = str_replace(",",".",$_POST['grille_tarifaire']);
	$reduction_min_mobile = str_replace(",",".",$_POST['mobil']);
	
	if ($_POST['action'] == "create"){
		
		$ajoutOK = CommandeDao::ajouterLigneMobile($id_commande,$utilisateur,$carte_sim,$msisdn,$numero_rio,$date_souhaite,$terminal_mobile,$numero_imei,$abonnement_mobile,$options_mobile,$engagement,$reduction_abonnement,$reduction_min_national,$reduction_min_international,$reduction_option_mobile,$reduction_grille_tarifaire,$reduction_min_mobile,$appel_interne); 
		CarteSimDao::changerStatut($carte_sim,"Pending");
				
		if ($ajoutOK){
			// Redirection vers la page 
			if ($_POST['next'] == "creation-commande"){
				redirect("creation-commande?id=".$id_commande);
			} else if ($_POST['next'] == "ajout-ligne-mobile"){
				redirect("ajout-ligne-mobile?id=".$_GET['id']."commande=".$_GET['commande']);
			} else if ($_POST['next'] == "dupliquer-ligne"){
				redirect("ajout-ligne-mobile?action=duplicate&id=".$ajoutOK);
			} else if ($_POST['next'] == "liste-client"){
				redirect("liste-client");
			}
		} else {
			$error = "Création de ligne impossible";
		}
		
	} else if ($_POST['action'] == "update"){
		$updateOK = CommandeDao::updateLigneMobile($_GET['commande'],$utilisateur,$carte_sim,$msisdn,$numero_rio,$date_souhaite,$terminal_mobile,$numero_imei,$abonnement_mobile,$options_mobile,$engagement,$reduction_abonnement,$reduction_min_national,$reduction_min_international,$reduction_option_mobile,$reduction_grille_tarifaire,$reduction_min_mobile,$appel_interne);
		//echo $updateOK;
		CarteSimDao::changerStatut($carte_sim,"Pending");
		
		if ($updateOK != ''){
			// Redirection vers la page 
			if ($_POST['next'] == "creation-commande"){
				redirect("creation-commande?id=".$_GET['id']);
			} else if ($_POST['action'] == "ajout-ligne-mobile"){
				redirect("ajout-ligne-mobile?id=".$_GET['id']);
			} else if ($_POST['action'] == "dupliquer-ligne"){
				redirect("ajout-ligne-mobile?action=duplicate&id=".$ajoutOK);
			} else if ($_POST['action'] == "liste-client"){
				redirect("liste-client");
			}
			
		} else {
			$error = "Mise à jour de ligne impossible";
		}
	}
	
}
	

// Si l'id de la ligne est fournie
$ligneCommande = null;
if (isset($_GET["commande"])){
	$ligneCommande = CommandeDao::findLigneById($_GET["commande"]);
}

// Chargement de la commande en cours
if(isset($_GET['commande']))
{
$commande = CommandeDao::findByCommandeId($_GET['commande']);
}else{
$commande = CommandeDao::findByCommandeId($_GET['id']);
}
if(isset($_GET['action']) and $_GET['action']=='modif')
{
$commande = CommandeDao::findByCommandeId($_GET['id']);
}

// Récupération des cartes SIM disponnibles
$cartes_sim = CarteSimDao::getCartesDisponnibles();

// Récupération des offres mobiles
$offres_mobile = OffreVenteDao::getOffresMobile();

//Récupération du nom du terminal
$terminal = CommandeDao::Terminal($ligneCommande['terminal_mobile']);
$ligneCommande['nom_terminal'] = $terminal['libelle'];

//Récupération du nom du forfait
if(isset($ligneCommande['abonnement_mobile']))
{
$forfait = CommandeDao::Forfait($ligneCommande['abonnement_mobile']);
$ligneCommande['nom_forfait'] = $forfait['nom'];
}

// Récupération des terminaux
$terminaux_mobile = OffreVenteDao::getTerminaux();

if(isset($_GET['action']) and $_GET['action']=='duplicate'){$ligneCommande['duplicate'] = 'oui';}

// Rendu de la page
echo $twig->render('ajout-ligne-mobile.html',
		array(	'commande' => $commande,
				'ligneCommande' => $ligneCommande,
				'cartes_sim' => $cartes_sim,
				'sim' => $sim,
				'terminaux_mobile' => $terminaux_mobile,
				'offres_mobile' => $offres_mobile,
				'message' => $message,
				'error' => $error));
}
else {
	redirect("home-admin");
}

